{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import datasets, linear_model, cross_validation, svm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用糖尿病数据\n",
    "def load_data():\n",
    "    diabetes = datasets.load_diabetes()\n",
    "    x_train = diabetes.data\n",
    "    y_train = diabetes.target\n",
    "    return cross_validation.train_test_split(x_train, y_train, test_size = 0.25, random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Coefficients:[[ 2.24127622 -0.38128702  7.87018376  5.21135861  2.26619436  1.70869458\n",
      "  -5.7746489   5.51487251  7.94860817  4.59359657]], intercept [137.11012796]\n",
      "Score: -0.02883699774812798\n"
     ]
    }
   ],
   "source": [
    "# SVR-线性核\n",
    "def test_SVR_linear(*data):\n",
    "    x_train, x_test, y_train, y_test = data\n",
    "    svr = svm.SVR(kernel='linear')\n",
    "    svr.fit(x_train,y_train)\n",
    "    print('Coefficients:{0}, intercept {1}'.format(svr.coef_, svr.intercept_))\n",
    "    print('Score: {0}'.format(svr.score(x_test, y_test)))\n",
    "\n",
    "x_train, x_test, y_train, y_test = load_data()\n",
    "test_SVR_linear(x_train, x_test, y_train, y_test )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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dtEoKSkhPz+fE044AYD8/HwGDRoEwMknn8z999/PddddR21tLWVlZRx//PH88Ic/5Oabb6a2tpaXX36Z5557rtlxjznmGG688Ua+/PJLDj30UMrKyti6dSvDhg2L6GcUiUeKTYpNIrEqVuOTYlNkKFEUiQPjx49nxIgRHHHEEQwaNIhjjz024ue4/vrrufjiixkxYkTDq1u3bo3qOOf4zW9+w1VXXUV2djY5OTkN/fn/8pe/cNVVV/HAAw+QlpbGAw88wMSJEzn//POZMGECANdccw2jR49m7dq1jY57yCGH8PDDD3Puuec2TG/961//WhdjIjFOsUlEYpFiU2To8RiS1A50iufZc1czY+qBT20ci3w+Hz6fj6ysLNasWcOpp57KmjVrSEuLnd+TEnUKesUmaUqxaR/FpuhSfJKmFJ888RCboG3xKbY+iUicSKRAV6+0tJQpU6bg8/lwzjX8wiUi8UOxSURiVaLFp2SITYn1aUTkgOXm5rJkyZJoN0NEpBHFJhGJRckQm/QcRREREREREWlEiaKIiIiIiIg0okRRREREREREGlGiKCIiIiIiIo0oURSJol27djFu3DjGjRtH79696devX8N6/XNxQvHII4+wffv2hvXLLruML774IiJtnDlzJiNHjmTMmDEcddRRLFq0KCLHFZHYpdgkIrFIsaljadZTkSg66KCDyM/PB+Cuu+4iJyeHm266KezjPPLII4wfP57evXsD8Oijj0akffPnz+ett95i6dKlZGRk8NVXX+Hz+dp0TJ/Pl3DTR4skGsUmEYlFik0dS3cURcJR8DzMHgV35XrvBc+326kef/xxJk6cyLhx4/jxj39MXV0dPp+Piy66iNGjRzNq1CjuvfdennvuOfLz8zn33HMbflE77rjjyM/Px+fzkZubyy233MLYsWOZPHkyO3fuBGDNmjVMmjSJ0aNH84tf/ILc3Nxmbdi2bRu9evUiIyMDgF69etGnTx8AFi5cyOTJkxk7diyTJk2ivLyciooKLrnkEkaPHs348eN5//33AXjooYf47ne/y8knn8y0adMAmDVrFhMnTmTMmDHMnDmz3b5HkaSg2KTYJBKrOig+KTZFnhJFkVAVPA+v3gDFmwHnvb96Q7sEvBUrVvDSSy+xYMGChsD17LPPsmTJEr7++muWL1/OihUruPjiixsCXX3gqw9O9YqL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\n",
      "text/plain": [
       "<Figure size 1080x360 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# SVR-多项式核\n",
    "def test_SVR_poly(*data):\n",
    "    train_x, test_x, train_y, test_y = data\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    # 测试degree\n",
    "    degrees = range(1,20)\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for degree in degrees:\n",
    "        svr = svm.SVR(kernel='poly',degree=degree,coef0=1)\n",
    "        svr.fit(train_x,train_y)\n",
    "        train_score.append(svr.score(train_x,train_y))\n",
    "        test_score.append(svr.score(test_x,test_y))\n",
    "            \n",
    "    # 绘图：\n",
    "\n",
    "    ax = fig.add_subplot(131)\n",
    "    ax.plot(degrees,train_score,label='Training Score',marker='+')\n",
    "    ax.plot(degrees,test_score, label='Testing Score',marker='o')\n",
    "    ax.set_xlabel(r'p')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('SVR_poly_degree')\n",
    "    ax.set_ylim(-1,1)\n",
    "    ax.legend(loc='best',framealpha=0.5)\n",
    "    \n",
    "    # 测试gamma\n",
    "    gammas = range(1,40)\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for gamma in gammas:\n",
    "        svr = svm.SVR(kernel='poly',gamma=gamma,degree=3,coef0=1)\n",
    "        svr.fit(train_x,train_y)\n",
    "        train_score.append(svr.score(train_x,train_y))\n",
    "        test_score.append(svr.score(test_x,test_y))\n",
    "            \n",
    "    # 绘图：\n",
    "\n",
    "    ax = fig.add_subplot(132)\n",
    "    ax.plot(gammas,train_score,label='Training Score',marker='+')\n",
    "    ax.plot(gammas,test_score, label='Testing Score',marker='o')\n",
    "    ax.set_xlabel(r'$\\gamma$')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('SVR_poly_gamma')\n",
    "    ax.set_ylim(-1,1)\n",
    "    ax.legend(loc='best',framealpha=0.5)\n",
    "    \n",
    "    # 测试r\n",
    "    rs = range(0,20)\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for r in rs:\n",
    "        svr = svm.SVR(kernel='poly',gamma=20,degree=3, coef0=r)\n",
    "        svr.fit(train_x,train_y)\n",
    "        train_score.append(svr.score(train_x,train_y))\n",
    "        test_score.append(svr.score(test_x,test_y))\n",
    "            \n",
    "    # 绘图：\n",
    "\n",
    "    ax = fig.add_subplot(133)\n",
    "    ax.plot(rs,train_score,label='Training Score',marker='+')\n",
    "    ax.plot(rs,test_score, label='Testing Score',marker='o')\n",
    "    ax.set_xlabel(r'r')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('SVR_poly_r')\n",
    "    ax.set_ylim(-1,1)\n",
    "    ax.legend(loc='best',framealpha=0.5)\n",
    "    \n",
    "    plt.show()\n",
    "\n",
    "x_train, x_test, y_train, y_test = load_data()\n",
    "test_SVR_poly(x_train, x_test, y_train, y_test )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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91xVVVVpzZo1sX7V1NTI3TV8+HBJUllZWTokvv322zrrrLM0bdo0TZ8+XStXrpQk/eAHP9CUKVM0ZcoU/fjHP875/B566CHNnj1bM2fO1Pnnn689e/Z0++tKUAQAAACQVzes2JjX9v/4xz/qa1/7mtavX6+xY8dq8eLFqq6u1gsvvKBly5Zp/fr1rY6pqanRSSedpBdeeEGzZ8/Wbbdlv0W7u+vZZ5/Vv/zLv6RD549//GONGjVK69ev1z/+4z/q+eefb3XcgQceqHnz5mnixIm66KKLdPfdd6u5uVmSdOmll+q0007T2rVrtXr1ah155JFauXKl7rrrLq1atUp/+MMf9JOf/ETr1q1r9fxKSkq0ePFirVixQs8995ymTZumG264obteyjRujwEAAACg0779u5e0fsvODtc//+Y/tFtn8pghuvavj+p0Xz784Q+rqqplNuXdd9+tW2+9VclkUlu2bNH69es1efLk2DEVFRU644wzJEnHHHOMnnzyyaxtf/KTn0zXee211yRJTz31lL7xjW9IkqZPn66jjsre55///Odau3atli9fng53t9xyix5//HHdc889kqTi4mINGTJETz31lM455xxVVFRIks4++2w9+eSTmjt3buz5Pf3001q/fr2OO+44SVJDQ4NOOOGETr9m7SEoAgAAAOh2mz/Yq7d21KW3V/55uyRpbGW5xg0b0K3nGjhwYHp948aNuuGGG/Tss8+qsrJSf/M3f6O6urpWx5SWlqbXE4mEkslk1rbLysrardOWadOmadq0abrooot05JFHpi9o05mrkkafn7vr9NNP15133tnpvnQGQREAAABAp3Vm5O/ghb/Xa4s/nsfetNi5c6cGDx6sIUOGaOvWrXr44Yd1+umnd+s5jj/+eN1333068cQTtW7duqxTW3fu3Kk1a9boox/9qCRpzZo1mjhxoiTplFNO0U9/+lNddtllampq0p49e3TiiSfqS1/6kr7+9a+rqalJDzzwgO69995W7R533HG68sor9eqrr+pDH/qQ9uzZoy1btmjSpEnd+hwJigAAAAD2GzNnztTkyZN1xBFHaOLEiTr++OO7/RyXX365PvOZz2jy5Mnpx9ChQ2N13F3//M//rC9+8YuqqKjQoEGD0r+D/Pd//3d98Ytf1M0336zi4mLdfPPNmjVrli688EJ95CMfkSR95Stf0dSpU7Vp06ZYuwcddJBuvfVWnX/++enbgvzTP/1TtwdFbo8BAAAAoEP29fYY1y97RV87bd9vC9HbJJNJJZNJlZeXa+PGjZo7d642btyo4uLeNQ7Xldtj9K5nAgAAAGC/sz+FREnavXu3Tj31VCWTSbl7emRwf7J/PRsAAAAAyLPKykqtXr260N3IK+6jCAAAAACIISgCAAAAAGIIigAAAACAGIIiAAAAACCGoAgAAACg19u2bZtmzJihGTNmaNSoURo7dmx6O3U/wY647bbb9Pbbb6e3P/e5z2nDhg3d0sdFixbpqKOO0rRp03T00Udr1apV3dJuIXDVUwAAAAC93gEHHKA1a9ZIkq677joNGjRIV111Vafbue222zRz5kyNGjVKknT77bd3S/+efPJJPfLII3r++edVWlqq9957T8lkskttJpPJgt12gxFFAAAAAPmx9j7p+inSdZXBcu19eTnNHXfcoVmzZmnGjBn627/9WzU3NyuZTOriiy/W1KlTNWXKFN1444269957tWbNGp1//vnpkcgTTjhBa9asUTKZVGVlpRYuXKjp06dr9uzZevfddyVJGzdu1LHHHqupU6fq6quvVmVlZas+bN26VSNHjlRpaakkaeTIkRo9erQkaeXKlZo9e7amT5+uY489Vnv37lVtba3mz5+vqVOnaubMmXriiSckSbfccovOPvtsnXLKKZo3b54kafHixZo1a5amTZumRYsW5eU1zERQBAAAAND91t4n/e4KqeZNSR4sf3dFt4fFF198Uffff7+efvrpdOC75557tHr1ar3//vtat26dXnzxRX3mM59JB8RUYEyFupSamhqddNJJeuGFFzR79mzddtttkqTLL79cV111ldatW5cOf5lOP/10/elPf9Lhhx+uSy+9VE8++aQkqa6uThdccIFuuukmvfDCC3rkkUdUVlamG2+8UWVlZVq3bp3uvPNOXXzxxekptM8//7x++9vfasWKFXrwwQf1xhtvaOXKlVqzZo2efvppPf300936GmbD1FMAAAAAnffQQuntdbn3b14lNdXHyxprpQcuk1bfkf2YUVOlMxZ3qhvLly/XqlWrVFVVJUmqra3V+PHjNW/ePG3YsEFXXHGFPv7xj2vu3LnttlVRUaEzzjhDknTMMcekw97KlSv14IMPSpIuuugiXXPNNa2OHTJkiJ577jk9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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# SVR-高斯核\n",
    "def test_SVR_rbf(*data):\n",
    "    train_x, test_x, train_y, test_y = data\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    # 测试gamma\n",
    "    gammas = range(1,20)\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for gamma in gammas:\n",
    "        svr = svm.SVR(kernel='rbf',gamma=gamma)\n",
    "        svr.fit(train_x,train_y)\n",
    "        train_score.append(svr.score(train_x,train_y))\n",
    "        test_score.append(svr.score(test_x,test_y))\n",
    "            \n",
    "    # 绘图：\n",
    "\n",
    "    ax = fig.add_subplot(111)\n",
    "    ax.plot(gammas,train_score,label='Training Score',marker='+')\n",
    "    ax.plot(gammas,test_score, label='Testing Score',marker='o')\n",
    "    ax.set_xlabel(r'$\\gamma$')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('SVC_rbf')\n",
    "    ax.set_ylim(-1,1)\n",
    "    ax.legend(loc='best',framealpha=0.5)\n",
    "    \n",
    "    \n",
    "    plt.show()\n",
    "\n",
    "x_train, x_test, y_train, y_test = load_data()\n",
    "test_SVR_rbf(x_train, x_test, y_train, y_test )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4oAAAFSCAYAAAC0fyGTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd8leX9//HXJztksiGAoDKULUYUNwV31daBSmutrWJt1bq+/WFdiFXR2iKIrVLFvVCr4kDEaFVEEFBEdgAZgQAJSAaEkJNcvz/uk5BxTgghycl4Px+PPJJzX/e4TgLnc3/ua5lzDhEREREREZFSYaGugIiIiIiIiDQuShRFRERERESkAiWKIiIiIiIiUoESRREREREREalAiaKIiIiIiIhUoERRREREREREKlCiKNLAzOyvZvZ0Y7uuma03s5ENWScREZH6pJgrUntKFKVFMLOTzWyumeWY2U4z+8rMTjGz3WYWH2D/78zsBjPrYWbOzPL9X+vNbOyh1MU596Bz7ppDOUdTuq6IiLQsirmKudI8KFGUZs/MEoH3gceBNkAX4D4gB8gALqm0f3+gL/Bquc3Jzrl4/753m9kZDVB1ERGRJkUxt/6YWUSo6yAtixJFaQl6AzjnXnXOFTvnCpxzHzvnlgDPA7+ptP9vgA+dczsqn8g5txBYBgw+0EXN7P+Z2WYzyzOzVWY2wr99nJm9VG6/35jZBjPbYWZ3l++O4t/3DTN7yX+eH8yst5ndYWbbzWyTmZ1Z7lwpZjbD/wR3jZldW66s8nWvLHfdO2vyizSzWDN73sx+MrMVZvYXM8soVz7WzNb667rczH5Zruy3/qfKE81sl5mtM7MT/ds3+d/PVeX2f87M/mVmM/1Plr8ys05m9pj/+ivN7JiaXFtERBqMYm7g69Ym5o4zszf99ckFfluT40TqihJFaQlWA8X+BOccM2tdruxF4FQz6wZgZmHAaLxgVoWZnQD0B9ZUd0Ez6wPcABznnEsAzgLWB9ivL/Av4FdAZyAJ7+lreef769ka+A6Yhfd/twswHniq3L6v4T2xTcF7Evugmf0syHX/DVzp37ct0LW69+R3L9ADOAI4A/h1pfK1wCn+93Ef8JKZdS5XfjywxH+9V/z1PQ7o6T/XFKvYLWkUcBfQDigEvga+9b9+E/jnQVxbRETqn2Ju4OvWJuYCXIgX75KBl2t4jEidUKIozZ5zLhc4GXDAf4As/xPAjs65TcD/8D68AUYA0cAHlU6TbWYFeInKv4B3DnDZYv95+ppZpHNuvXNubYD9LgHec87Ncc7tA+7x17O8L51zs5xzPuANoD0wwTlXhBekephZsj/wngT8P+fcXufcYuBpqj69Lb3u+865L5xzhcDdQMkB3hN4iduDzrmfnHMZwOTyhc65N5xzW5xzJc6514F0YGi5XX50zj3rnCsGXge6AeOdc4XOuY+BfXhJY6m3nXOLnHN7gbeBvc65F8odX9aiWINri4hIPVPMrdOYC/C1c+4df2wrqOExInVCiaK0CM65Fc653zrnuuI9nUwBHvMXP8/+oHUl8Jo/IJTXDogHbgNOByIPcL01wM3AOGC7mb1mZikBdk0BNpU7bg9QufvNtnI/FwDZ/kSp9DX+uqUAO51zeeX230DVp6WBrrs7wHUDqXBcpZ9Lu/Qs9nct3YX3u25XzXvBOVd5W3w1+wfdtwbXFhGRBqCYe8Dr1jTmQqU4K9KQlChKi+OcWwk8hxe8AP4LdDWz4cBFBOkC4x9r8U9gL/DHGlznFefcyUB3vCeWDwfYLZNy3U/MLBavS0ptbAHamFlCuW2HAZuDXLdbueu2quF1K9S30jm64z09vgFo65xLBpYCVtM3UFuhvLaIiASnmFt23drEXKja4inSYJQoSrNnZkeZ2W1m1tX/uhtwBTAPyp7svQk8C2zwD56vzgTgL2YWU801+5jZz8wsGi/IFRC4m8mbwPn+SV2i8J6G1iq58XfpmQs8ZGYxZjYQ+D3wUoDd3wR+bt4U5lF44y5q8nkwHbjDzFqbWRe8xKxUHF5AywIws6vZf2NQ30J5bRER8VPMrdOYKxJS+kcqLUEe3iQq881sN16wWorXpaXU83hPIV+owfk+AH4Crq1mn2i84JYNbAU6AHdU3sk5twy4EW/cQyaQD2zHm7ilNq7Am2xmC96Yvnudc58Eue6f8CaUyfS/n4zK+wUw3r/fj8AneMGv0H/O5cA/8MaUbAMGAF/V8n0clFBeW0REKlDMDXzd2sRckZAy59SiLdJY+Gf83AX0cs79GOr6HIiZXQ9c7pw7LdR1ERERORhNLeaKNDS1KIqEmJmdb2atzCwOeBT4gQDTejcGZtbZzE4yszD/dOS34T1FFRERafSaUswVCbWQJopmNs2/gOnSIOVmZpP9i5guMbMh5cquMrN0/9dVgY4XqU9mdph5C8EH+jrsIE51IV63lS1AL7wWupA19dv+Be4rf/0ViMJbQyoP+BR4F2/qchGpQ4qPIhW10JgrElIh7XpqZqfi9Q9/wTlXZeIJMzsXry/5uXj93Sc55443szbAQiAVbwKLRcCxzrmfGqzyIiIi9UTxUUREQi2kLYrOuS+AndXsciFekHTOuXlAspl1Bs4CZjvndvqD32zg7PqvsYiISP1TfBQRkVCLCHUFDqALFRcazfBvC7a9CjMbA4wBiIuLO/aoo46qn5qKiEijsWjRomznXPtQ16MeKT6KiEit1DRGNvZE8ZA556YCUwFSU1PdwoUHWq5HRESaOjPbEOo6NHaKjyIiLVNNY2Rjn/V0M9Ct3Ouu/m3BtouIiLQEio8iIlKvGnuiOAP4jX92txOAHOdcJjALONPMWptZa+BM/zYREZGWQPFRRETqVUi7nprZq8DpQDszywDuBSIBnHNPAh/izei2BtgDXO0v22lm9wML/Kca75yrbtC/iIhIk6H4KCIioRbSRNE5d8UByh3wpyBl04Bp9VEvEWnZiouL2blzJ0VFRaGuihxAZGQkbdq0ITw8PNRVqVOKjyLSWClGNh2HGiOb/WQ2IiIHa+fOncTExNCuXTvMLNTVkSCcc+Tn57Nz507at2/OE5yKiDQeipFNQ13EyMY+RlFEpMEVFRURHx+vANjImRnx8fF6qi0i0oAUI5uGuoiRShRFRAJQAGwa9HcSEWl4+uxtGg7176REUURERERERCpQoigi0sjs2LGDwYMHM3jwYDp16kSXLl3KXu/bt69G57j66qtZtWpVtfs88cQTvPzyy3VRZd59910GDx7MoEGD6Nu3L08//XSdnFdERKSU4mPDMm/itJYhNTXVLVy4MNTVEJFGbsuWLaSkpBz0cRNnr+aWM3rXaV3GjRtHfHw8t99+e4Xtzjmcc4SFhf55X2FhIYcffjgLFy4kJSWFwsJCNmzYQO/etf9dHMz7C/T3MrNFzrnUWleghVF8FJGaaiwxUvGxZu/vUGJk6H+DIiLNxKS09Ho9/5o1a+jbty+/+tWv6NevH5mZmYwZM4bU1FT69evH+PHjy/Y9+eSTWbx4MT6fj+TkZMaOHcugQYMYNmwY27dvB+Cuu+7iscceK9t/7NixDB06lD59+jB37lwAdu/ezcUXX0zfvn255JJLSE1NZfHixRXqlZOTg3OONm3aABAdHV0WBLdu3cqFF17IwIEDGTRoEPPnzwfgkUceoX///vTv35/HH3886PubOXMmw4YNY8iQIVx22WXs3r27Hn/DIiJSX+ozRio+1k981PIYIiLVuO+9ZSzfklvj/S976usD7tM3JZF7z+9Xq/qsXLmSF154gdRU70HghAkTaNOmDT6fj+HDh3PJJZfQt2/fCsfk5ORw2mmnMWHCBG699VamTZvG2LFjq5zbOcc333zDjBkzGD9+PB999BGPP/44nTp14q233uL7779nyJAhVY7r0KEDZ511Ft27d2fEiBGcf/75XHbZZYSFhfGnP/2JM844gxtuuAGfz8eePXuYP38+L7/8MgsWLMDn8zF06FBOP/10YmNjK7y/7du3M2HCBNLS0mjVqhUPPPAAkyZN4q9//WutfnciIlK3GlOMVHys+/ioFkURkUOQ8dMe5v+4k/k/7gQo+znjpz31cr0jjzyyLAgCvPrqqwwZMoQhQ4awYsUKli9fXuWY2NhYzjnnHACOPfZY1q9fH/DcF110UZV95syZw+WXXw7AoEGD6NcvcPB+7rnnmD17NqmpqUyYMIExY8YA8L///Y/rrrsOgIiICBITE5kzZw4XX3wxsbGxJCQk8Itf/IIvv/yyyvubO3cuy5cv58QTT2Tw4MG8/PLLQesuIiKNT0PGSMXHwHU/FGpRFBGpxsE81ewx9gPWTzivHmsDcXFxZT+np6czadIkvvnmG5KTk/n1r3/N3r17qxwTFRVV9nN4eDg+ny/guaOjow+4T3UGDhzIwIEDGT16NEcffXTZgP2DmZ67/PtzznH22Wfz4osvHnRdRESk/jWmGKn4WPfUoigi0kTl5uaSkJBAYmIimZmZzJo1q86vcdJJJzF9+nQAfvjhh4BPZHNzc/niiy/KXi9evJju3bsDMHz4cJ588kkAiouLyc3N5ZRTTuHtt9+moKCA/Px83n33XU455ZQq5z3xxBP5/PPPWbduHeCNB0lPr99xoCIi0vQpPtYNtSiKiNSRP4/o1aDXGzJkCH379uWoo46ie/funHTSSXV+jRtvvJHf/OY39O3bt+wrKSmpwj7OOR566CGuvfZaYmNjiY+PZ9q0aQBMmTKFa6+9lqeeeoqIiAieeuophg4dyhVXXMFxxx0HwPXXX8+AAQNYs2ZNhfN27NiRZ555hssuu6xs2vMHH3yQXr0a9vcsIiKHriFjpOJj3dDyGCIildR26u/myOfz4fP5iImJIT09nTPPPJP09HQiIhrPc0Ytj3HoFB9FpKYUIz1NIT7CocXIxvVORESkUcnPz2fEiBH4fD6cc2VPPkVERFqylhAfm9e7ERGROpWcnMyiRYtCXQ0REZFGpSXER01mIyIiIiIiIhUoURQREREREZEKlCiKiIiIiIhIBUoURUREREREpAIliiIijcyOHTsYPHgwgwcPplOnTnTp0qXsdel6STUxbdo0tm7dWvb66quvZtWqVXVSx/Hjx9OvXz8GDhzIMcccw4IFC+rkvCIiIsEoPjYszXoqInKolkyHtPGQkwFJXWHEPTBwVK1P17ZtWxYvXgzAuHHjiI+P5/bbbz/o80ybNo0hQ4bQqVMnAJ599tla16m8L7/8ko8//pjvvvuOqKgosrKy8Pl8h3ROn8/X7KYVFxER6jRGKj42LLUoiogciiXT4b2bIGcT4Lzv793kba8Hzz//PEOHDmXw4MH88Y9/pKSkBJ/Px5VXXsmAAQPo378/kydP5vXXX2fx4sVcdtllZU9aTz75ZBYvXozP5yM5OZmxY8cyaNAghg0bxvbt2wFIT0/n+OOPZ8CAAdx5550kJydXqUNmZibt27cnKioKgPbt29O5c2cA5s+fz7Bhwxg0aBDHH388e/bsoaCggKuuuooBAwYwZMgQvvjiCwCefvppfvGLXzB8+HDOOussACZMmMDQoUMZOHAg48ePr5ffoYiINJAGjJGKj3VPj29FRKozcyxs/SF4ecYCKC6suK2oAN69ARY9H/iYTgPgnAkHXZWlS5fy9ttvM3fuXCIiIhgzZgyvvfYaRx55JNnZ2fzwg1fPXbt2kZyczOOPP86UKVMYPHhwlXPl5ORw2mmnMWHCBG699VamTZvG2LFjufHGG7n99tu59NJLmTJlSsB6nH322fztb3+jT58+jBw5kssvv5xTTjmFvXv3cvnll/PWW28xZMgQcnJyiI6O5tFHHyU6OpoffviBZcuWce6555Keng7Ad999x+LFi2ndujUffvghGzduZP78+TjnOPfcc5k7dy4nnnjiQf+uRESkATSSGKn4WD/UoigicigqB8ADbT8En3zyCQsWLCA1NZXBgwfz+eefs3btWnr27MmqVau46aabmDVrFklJSQc8V2xsLOeccw4Axx57LOvXrwe8J54XX3wxAKNHjw54bGJiIt9++y1PPvkkbdu25ZJLLuHFF19kxYoVHHbYYQwZMgSApKQkwsPDmTNnDr/+9a8B6NevHykpKaxZswaAM888k9atWwPw8ccfM3PmTI455hiGDBnCmjVrWL16de1/YSIiEloNFCMVH+uHWhRFRKpzoKeaE/v7u9RUktQNrv6gTqvinON3v/sd999/f5WyJUuWMHPmTJ544gneeustpk6dWu25SrvFAISHhx/0GIqIiAiGDx/O8OHD6du3L6+//jr9+/c/qHMAxMXFlf3snOOuu+7i97///UGfR0REQqCRxEjFx/oR0hZFMzvbzFaZ2RozGxugfKKZLfZ/rTazXeXKisuVzWjYmouI+I24ByJjK26LjPW217GRI0cyffp0srOzAW/2t40bN5KVlYVzjksvvZTx48fz7bffApCQkEBeXt5BXWPo0KG8/fbbALz22msB91mxYkXZE0+AxYsX0717d/r27cvGjRvLrp+bm0txcTGnnHIKL7/8ctmxmZmZ9OzZs8p5zzrrLJ555hl2794NQEZGRtl7bYkUI0WkyWugGKn4WD9C1qJoZuHAE8AZQAawwMxmOOeWl+7jnLul3P43AseUO0WBc65qx2IRkYZUOnNbHc56GsyAAQO49957GTlyJCUlJURGRvLkk08SHh7O73//e5xzmBkPP/ww4E33fc011xAbG8s333xTo2tMnjyZK6+8kvvuu4+zzjorYDed/Px8brrpJnJzcwkLC6NPnz5MnTqV6OhoXn31Va6//nr27t1LbGwsn376KTfeeCPXXXcdAwYMIDIykhdeeKHCE9tS5557LitXruSEE04AvED+yiuv0K5du0P4rTVNipEi0iw0UIxUfKwf5pyr1wsEvbDZMGCcc+4s/+s7AJxzDwXZfy5wr3Nutv91vnMu/mCumZqa6hYuXHhoFReRZm/Lli2kpKSEuhohsXv3blq1aoWZ8dJLL/H222/z1ltvhbpa1Qr09zKzRc651BBV6ZA1dIxUfBSRmmqpMbIpxkc4tBgZyjGKXYDynZYzgOMD7Whm3YHDgU/LbY4xs4WAD5jgnHsnyLFjgDEAhx12WB1UW0Sk+VqwYAE333wzJSUltG7dus7WlpKDVu8xUvFRRKTmWmJ8bCqT2VwOvOmcKy63rbtzbrOZHQF8amY/OOfWVj7QOTcVmAreE9OGqa6ISNN0+umnly1mLE1GrWKk4qOISM21xPgYyslsNgPdyr3u6t8WyOXAq+U3OOc2+7+vA/5HxbEZIiKHJFTd8uXgNOO/k2KkiDRazfizt1k51L9TKBPFBUAvMzvczKLwAl2VmdnM7CigNfB1uW2tzSza/3M74CRgeeVjRURqIzIykvz8fAXCRs45R35+PpGRkaGuSn1QjBSRRkkxsmmoixgZsq6nzjmfmd0AzALCgWnOuWVmNh5Y6JwrDYiXA6+5iv8ajwaeMrMSvGR3QvmZ4EREDkWbNm3YuXPnQU+dLQ0vMjKSNm3ahLoadU4xUkQaK8XIpuNQY2TIZj0NBc3qJiLSMjT1WU8bmuKjiEjLUdMYGcqupyIiIiIiItIIKVEUERERERGRCpQoioiIiIiISAVKFEVERERERKQCJYoiIiIiIiJSgRJFERERERERqUCJooiIiIiIiFSgRFFEREREREQqUKIoIiIiIiIiFShRFBERERERkQqUKIqIiIiIiEgFShRFRERERESkAiWKIiIiIiIiUoESRREREREREalAiaKIiIiIiIhUoERRREREREREKlCiKCIiIiIiIhUoURQREREREZEKlCiKiIiIiIhIBUoURUREREREpAIliiIiIiIiIlKBEkURERERERGpQImiiIiIiIiIVKBEUURERERERCpQoigiIiIiIiIVhDRRNLOzzWyVma0xs7EByn9rZllmttj/dU25sqvMLN3/dVXD1lxERKR+KUaKiEgoRYTqwmYWDjwBnAFkAAvMbIZzbnmlXV93zt1Q6dg2wL1AKuCARf5jf2qAqouIiNQrxUgREQm1ULYoDgXWOOfWOef2Aa8BF9bw2LOA2c65nf7ANxs4u57qKSIi0tAUI0VEJKRCmSh2ATaVe53h31bZxWa2xMzeNLNuB3ksZjbGzBaa2cKsrKy6qLeIiEh9q/cYqfgoIiLVaeyT2bwH9HDODcR7Ivr8wZ7AOTfVOZfqnEtt3759nVdQREQkRA4pRio+iohIdUKZKG4GupV73dW/rYxzbodzrtD/8mng2JoeKyISahNnr65VmQiKkSIiEmKhTBQXAL3M7HAziwIuB2aU38HMOpd7eQGwwv/zLOBMM2ttZq2BM/3bREQaVLCEb29RMZPS0sn4aQ+79uyjqLikQvmktPSDPqe0KIqRIiISUiGb9dQ55zOzG/CCVzgwzTm3zMzGAwudczOAm8zsAsAH7AR+6z92p5ndjxdIAcY753Y2+JsQkRZh4uzV3HJG74Blk9LSuXlkLzJ+KuDbjT/x3cZdfLvxJ5ZvyQXg5Ic/K9s3OiKMhJgI4qO9j95bpy+mT8cEendKoE/HBDonxWBmTEpLD3q9A9VHmgfFSBERCTVzzoW6Dg0mNTXVLVy4MNTVEJFGqLrkq8fYD1g/4TwAikscm3buYdW2PFZvzeMfs1fTPiGarDyvB2BEmOErqfq5esIRbSjylbBo466gdUiIjqB3pwQWbfiJ6049gvjoCOL9iaWXYEaSGBvBBVO+KqvPwbyPlsTMFjnnUkNdj6ZC8VFEpOWoaYwMWYuiiEhjUrkVr6i4hIyfCvgxOx+A26Z/z+pteaRvz2NvUcVupKVJ4hVDu3H/hf2JCPd69ZdPMCsrLcvZU8Tq7Xn867M1fLYqi0UbvKXunvpiXbX1PWviFwzomsTArkkM6JLE0Z0TiYkMr7Y1srokUgmmiIiIlKdEUURavLVZXjL44IcrWJeVz7rs3fyYtZvy7YJvfZsBwDHdkrni+MPo0zGBnh3i6XfvrKDJYE0ktYrkuB5tePbqoWXbSpPIouISdhf6yNvr48nP1/Ly/I1l+6zalseqbXm8ucirV0SY0atjAgCPfbKaI9rHc0S7OI5oH0erKO+jvroksrYJpoiIiDRPShRFpMUon/Bs2LGbO/77A3PX7igrn+pvxevZPo7rTz+Sw9vFcUT7eC7+99xaJYN/HtGrVmWlIsPDSG4VRXKrKB745QAe+OUAYH8i6ZwjM2cvD364gveXZLIi0xsX+dgnFSfK6ZwUw+Ht4gBvXGSrqHBaRUUQExnu/zkcgEUbdtIxMYYOCTFEReyf60ytlCIiIi2PEkURaTEmpaUTGxXOB0sy+WFzDgBDDkvm5wNTGP/+ctY9eC5hYXZQ56wu4asuSaqurCZJJICZkZIcy5TRQ5gy2tvWY+wHrLz/bNbv2M26rN28+PV6vl63k8ycvQD891tvlYRAYykv/vfXZT+3i4+iY2IMHRNjAJgwcyVt4iJpExdN27goWsdF0TYuiklp6Yw59QhiIsMJr/S7O9CkPMEowRQREQk9JYoi0qxUTjLWbM9n1rKtfLxsK+AlPIO6JnHnuUdz7sDOdEmOBWD8+8uDJom1TQZr60DnPFAiGRMZzlGdEjmqUyLnDti/gkLlMZMlJY69vmJ2FxZz3AOf8OzVx7EtZy/bcguZvXwrS7fkssw/e+uTn68Ner1+93orL0SEGdERYcREhhPtb5F84rM1nHhkWwZ0SSobuwkHnklWiaKIiEhoKVEUkWZlUlo6I47uwKxlW/lo6VbWZu2uss/3GTmc3qdDWZIIDZ8MHoq6aI0ECAszWkVFlI1hHN6nw/7zjNx/nh5jP+DHh84lv9DHT7uLeOKzdF5fmFHlfMccloyv2PHdpv0zu/591ioAIsONU3u1Z9iRbTnxyHZMSktn+FEd2Ja7l+25XnK6LXcv2/IKq5xXREREGp4SRRFpFjJzCnh+7gYALpjyFeFhxglHtOGqE3twRt+OdE6KrXYW0saWDNZWbZPIAyWYZkZCTCQJMZE8fMkgHr5kEHDgmV0X3jWSeet2MHftDuauySZt5fay8l888dX+80OFyYN6jP2grF7N5W8jIiLSlChRFJEmp3y3xaWbc7ht+mJWbcuvsE9xiSO1ext+M6xHCGrYONX3mMlA2sVH8/OBKfx8YAoTZ69mUlp6lX2uOeVw7jjn6LIxjtUlnyIiItIwlCiKSJMzKS2dAV2SeHrOOuat20lcVDi/O+lwrj6pB6c88lnQJONQEp6WrK5aKW85o3fZuZQMioiING5KFEWkydhbVFy2nuE1LywkJSmGO889msuGdiMxJvKAxzdYF8Yl0yFtPORkQFJXGHEPDBzVMNduYLVtpayOEnoREZHQU6IoIo1S+e6lP+3ex/UvL2Leup0V9tmSs5f8Ql+FJLHBkoxgyeCS6fDeTVBU4O2Xs8l7DfvLW0gSWZ2mNHmQiIhIS6REUUQapUlp6VxybFee/nId0xdmUFBUzPA+7Rlz6pFc8Z95dTcpTXWJ28EkgzNugvxt8NWk/dtLFRXAR2MhayV8PQV8hfuPa6FJpJJBERGRxk2Joog0Oks35wBw2t8/IzzMuHBwF8acegS9OybU7YWqa/2DqmXv/gnWpMGqD6omg74C+Piu4NfaswO+/EfV7UUF8MFtkLEAvn0BfHur1uVAiauIiIhIHVOiKCKNxrgZS3nOv8QFQImDkmJHl+TYCkniQXcvDZZgpY0P3Pr37h+hpARcccWy4n2w5LXqrxXXHnZnVd0e3xHyt1NxEQi/wlz4ZmrV7UUFMPMvkJgCW5dC2jh1aRUREZEGoURRREKmdBxidn4hj6el8/L8jcRGhnPNKYfz+Kdr6qZ7aaBWw3f+CPP+7f0cSHFRNSc0SOriJWSVJXXzErTy1wOIjIUz/+ZP5AJcM7Er5G4mYBJZ8BM8F2R20KIC+GSc97PGRYqIiEgdCgt1BUSk5ZqUls6kT9I57ZHPeGn+Ri47rhuf/9/p3HZmn4M/2ZLpMLE/jEv2vi+Z7rUKfnxX1VbDkiLI/B4iWwU+V1I37ytgWVcYca+X/JUXGbvvO8E8AAAgAElEQVQ/ATt/sv94876fP9nbPuKewMeNvNc7byAJneHKd4K/79zN8M4fAreMpo3fnyjnbALc/iRyyXRvv0C/NxEREWnx1KIoIg3OV1zCqwu8lrWJn6zmnP6duP2sPhzZPr5sn4PqXhqo1fDtP8B7t0BRfuBjXAmcPylw69+Ie7yfg5WVtsYFa6UbOCpwi92Bjgt0vTPGw5HDvYQzUGtkdBIU5gR+j6XjKov3VdxeVABp91W9ploiRURExE+Joog0qD+/9h3vLt5SYdvMpVvp3TGhQpfSgN1LgyUus++p2qLmioESiG0DBTurniup64ETt+rKgiWDB1LbJDJYl9bzHg3epTUyDop2B65HTga8fZ2XMJdXVACz7wXn4P0/1y6JrG2ZiIiINBrmXIAxMc1UamqqW7hwYairIdKilI5DXL0tj799sIIvVmfRo20r7jj3aK57cVHQcYhVVG41BAiPgjZHQtaKIAcZXDQ1cIJV2h20Kanpch2w/z0GSyKjE71JdIIyAo6ZjG0Dg0fDN/+B4sKq14PgdamurI5bMM1skXMutVYHt0CKjyIiLUdNY6RaFEWkXk1KSyc7v5BXv9lIfHQEd513NL8Z1oOoiIMcIh1ohtLifZC9OnjSU9NWw6aiLru0nveP4ElkbGtvEp1ACnZ6a0FWVlTgtVBiVWeLLSqA9/4MZkHWmLwDstNh7uTqlwcRERGRBqNEUUTqhXOOZ79aD8BrCzZx5Qnd+fPI3rSJiyrbJ+A4xECtSocNCz5DqSvxkp7qxhrWtptoU1KXSeQ5jwRPIhM6Q95WArY2Vu7GWl7RnuBle7Lhi0cCHOOfkKe5/+1EREQaISWKIlLn/j5rJU98trbsdXGJ4/mvN5DcKqr6cYgBJ6UJMI6uvObWalgf6npynWBJZOlMsQdbVt0ak4GWIREREZF6p0RRROpUdn4h89Z5k8fcfmZvHv14dc3HIQbqXupKvK6lp98Bn45v2a2G9aEuk8gDzRYbrKy6NSaDLRsiIiIi9UqJoojUmdXb8vjdcwvIyivkidFDOG9gZx79eHXVHSt3L/3Z3RCTGLx7aWEeDPsjxLVTq2FDqm0SWduy6hJMERERaVCa9VREDtnE2asZ0r01N7z8LdGR4Tx9VSqDuyWXlVXoYhpohs7SGTYtvOpEKOB1W7xlab2+B2kENOtpyCg+ioi0HE1i1lMzOxuYBIQDTzvnJlQqvxW4BvABWcDvnHMb/GXFwA/+XTc65y5osIqLSAWT0tIJM+jdMYFnfnscXZJjy8qqjEMM1L0UB63awpkPwAe3qFWppVL34QoUI0VEJJRCliiaWTjwBHAGkAEsMLMZzrnl5Xb7Dkh1zu0xs+uBR4DL/GUFzrnBDVppEamg0FfMAx94axgO79OBSVccQ3y0/2MlUOtQ257Bu5fu2QmDr4CwcHUvlRZPMVJEREItlC2KQ4E1zrl1AGb2GnAhUBYEnXOfldt/HvDrBq2hiAR19zs/8OK8jWWv01Zup/+9s/jziF7c0nFxNbOXBlnIvXTSErUqiYBipIiIhNhBrnhdp7oA5ZsWMvzbgvk9MLPc6xgzW2hm88zsF8EOMrMx/v0WZmVlHVqNRQTnHC/O28D0hRm0iYvi6d94XdzXTziP9RPO87qaBpu9NCYZzp/kdSctT91LRSqr9xip+CgiItVpErOemtmvgVTgtHKbuzvnNpvZEcCnZvaDc25t5WOdc1OBqeAN1m+QCos0QxNnr+bKYd35f28uIW3ldk7t3Z5HLx1Ih4SYqjsHW/tubw4ce5WXGKp7qUidqG2MVHwUEZHqhDJR3Ax0K/e6q39bBWY2ErgTOM05V1i63Tm32f99nZn9DzgGqJIoikjdmJSWzsvzN5K7t4h7z+/LVcN6EBZmAPx5RK/9O2ane+MMS3xVT6LupSI1pRgpIiIhFcqupwuAXmZ2uJlFAZcDM8rvYGbHAE8BFzjntpfb3trMov0/twNOoty4DRGpOwX7ihk3YxkAbeOimHHDSVx90uFlSSKUm9l0+bswdTiER3tf5al7qcjBUIwUEZGQClmLonPOZ2Y3ALPwpv6e5pxbZmbjgYXOuRnA34F44A0zg/1TfB8NPGVmJXjJ7oRKM8GJSB24bfpi3vp2fyPGqm15nP3Yl96ENWf0rjizaVQ87MuDLsfCqBdgw1x1LxWpJcVIEREJNXOu5QxL0ILCIjWTX+hjwswVvDRvI93btuLhiwdy+dR5rJ9w3v6dlkyvOLMpQFgEXPA4DB7d8JUWKaemiwmLR/FRRKTlqGmMbBKT2YhIw5g4ezVDurfmr//9gS05BVxz8uHcdmYfYqPCq+4caGbTEh989qASRREREZEmTomiiACQs6eISWnpAPTsEM9b15/IkMNal5VXmLAmN9NbGzHgiYLMeCoiIiIiTYYSRZEWLqegiFfmb+SZOesAuGF4T24c0ZPoCH8ron8c4i05GbC0Cxx+OqyYEfyEpTObioiIiEiTFcpZT0UkBCbOXg3A5l0F/O395aTeP5uHP1pJdv4+AKZ8toY+d33k7Vc6DjFnE+C81sLFL0FCZzjzb95MpuVpZlMRERGRZkEtiiItzKS0dDbs2M37SzJxwM8HdubaU46gf5ckeoz9oOKENRMvqjoOEaBoD5x4I8R31MymIiIiIs2QEkWRFqCkxPH56iymffUjALOXb+OqE3vwu5MPp0tybOCDnDvwOMSBo5QYikiZibNX719XtY7KREQkNNT1VKQZKu1eml/o47mvfmTI/bO5+rkFfJmeDcDufcU8M+dHpi/wJ4JLpsPE/vwY8yuY2B++/Ac8f37wC2gcoogEUDohVl2WlX6eiYhIw1KLokgzNCktnby9Pt5YuIm8Qh+DuyVz9Uk9OKd/Z3rfNTPoeogGXiti2niIjINBV8Dydyp2P9U4RBGp5Kfd+zh70hcAjPzn50SFhxEdGeb/Hk50hPdc+o7/LiE2MoK46HBio8KJi4qglX/5nRWZuaQkxZIYG4GZlZ17Ulq6WiJFREJAiaJIM1Fc4vgiPYuX520A4IWv13PewM789sQeHFNumYsqAq2HCBCbDL98Eo78mcYhikhQE2evrtAiuGZ7PgCHtYnFV+LYsmtvWdmr3wTpzg6cM+lLACLCjMPatKJzcgydEr2u8R8tzaRnhwR6tG1FRPj+zlDVJZEiInJolCiKNEHln6JvzdnL9IWb+M8X68gr9JXt4ytxvLt4Cz3axnmJon+Zix9jMmBiVxh+F7RqHXwcYu4W77vGIYpINW45o3fZ51GVCbHKKV/mnKPQV8LuQh979hVzyiOf8cToIWTmFLA1Zy+fr87iqzU7yo79w0vfAhBm0KtDAj07xtOrQzwAa7Py6dE2jvAwq3A9tTaKiBwaJYoiTdCktHQGdEnitQUb+XTldkocnNKrHZcfdxhn9O1Ys+6l71znlVkYuJKqF9E4RBGpJ2ZGTGQ4MZHhtPVvO29g57Lyu8rt22PsB7x3w8mkb89j9bZ8Zi3L5IMlmWXlI/7xOQDtE6I4tVcHjuqUQJ9OCeqyKiJyiMw5F+o6NJjU1FS3cOHCUFdDpNby9hbxyvyNPDRzJQDt4qMZldqVy47rRve2cWWthiW7NhGW3G1/N9F/Hr2/hbC8Vm299RA/uLXqOMTzJ6slUZosM1vknEsNdT2aikOOj/7PHpeTgVXuon6IZVU+z/wK9hVz9D0f8eilg1i1NZeVW/NYtTWP7XmFZfu0i4+mX0oifVMS6dvZ+3542ziO+OuHQVs+RUSau5rGSLUoijRS5Z94Z+UVcv1Li1i44acK+2TnFxIZHrY/SfS3GoYZXqvhu3+CORMDJ4kAe3bC4NEQFqFxiCJSO4F6LMy4Efbs8D5bPr4bfOXK3rtp/7GVjwtQVvZ5Vlo2cBQsmU5s2njWRW8i7At/EnneqCrjJbPzC/l8dRZfpmdR4n8uXjp5zmvfbOSsfp1oHRdV4e2otVFExKMWRZFGqsfYD/j8/05n6hfreGNRBkXFJZzTvxN/OO1ILpjyVdWn4RP7Bx5vaOEQ1QoK86qWJXWDW5bWzxsQCSG1KB6cQ4qPwT57qmVgFrjbe1S81yW+MLdqWZI/KfQnkWXK94II0BJZ2Pdi7puxjFcCTKZzWJtW3DC8J2f260hyq6hqx1mKiDQHalEUaaKKikv4eq03icPwR/9HRFgYFx/bhWtPOYIjMj+EN65iXfQmmOi/YTridFj1YfAbNVcC5/0z8I2VlrkQkUOVk1GLgxwEe1C9L7+aa22Cd2+A4sKK24sKvF4RELAlMhp48KJRPNhzZVkS6Uvowkcdx/Bo5iD+8tYS/vq2cXKvdoA3Qc4R7eIqLNMBam0UkZZFiaJICJXedBT6ipmTns2js1axYuv+lr8SB/uKS+iQEOMliZVvgN6+bv8TeQsHV1z1Ikld93cjVfdSEalrSV0DP6hK6uZ9r1WZC5yARraCoj2B65GzCd75I5QUVdweJImMyt/MBYUTOP/8yfw1/SheXbCJ/63KAvZPkNOrQzy/PqE7Qw9vQ5+O1U+QIyLS3KjrqUiIlE7EcOHgFNJWbCe/0EdCTARn9O3Iuf07c80LCyt2f5rYL/CNU3QiXD0Tti+vvjuWSAuirqcH55DiY7kximVKP3ug7svSxgdOMKPiq2+NDI+C4n1Vt5frgu+c4/A7PmTCRQOY/+NO5q/bwZYcbx3IpNhIcgqK+MvZfUjt3oaBXZOIiQwvO41aG0WkqVDXU5FGovKkNJ+u3Mbs5dv4Mj0bgC9WZ3HegM6cM6ATJx7Zjqjlb8KsX+/vXnrKrbA3N3j3rsI86NTf+wK1GopIw6pJj4W6LguURP58Yu2SyJwM71wr3sNKJ8j5qhuXj7gHLhvFfe8t49mv1pNT4LVUPvLRKsBb03Fg12SO7d6a1O6ttRyHiDQ7NW5RNLOTgV7OuWfNrD0Q75z7sV5rV8fUoiih0GPsB4w95yhmL9/Gtxt/Cjos588jenFLx8VVb4BKhUdXHZcDmpBGJICGbFFUfAwB/4Q1VZLI6lo3gyWRAGFRXtf98t33g0yQ45K6svzom/mAU/h2w098n7GLQp83BKB721akdm/DcT1ak9qjDUe298Y5aoIcEWlM6rRF0czuBVKBPsCzQCTwEnDSoVRSpLko/7Q4p6CIr9dm80V6Nl+me+NdJsxcSb+URP48ohdn9O1I3+xZWOX1wXq1h8fHBk4S4zt66x1qQhqRRkXxMUQGjgrcW+JArZuBPkOHXgcL/gP7KnVLLSqAD2+H7Stg3r/B5x8fnpvBgG/vZsD5k5kYMZhOG2fwl6jppFg2W/La8cjiUYz99mQA2sRFcWz31gAs2rCTfikVu6uCWhtFpPGqUYuimS0GjgG+dc4d49+2xDk3sJ7rV6ea3BNTaVSCBfN9vhJ63zWTm0b04sv0LL7ftIsSBxeEzeEvEf6bB9eOR3yjOHz41YFbDc2CzwDo7QDjdgV/ii4iFTRUi6LiYxMT7DN0XDJwkHM2JKbAyPuqfJ67yFi2n/4Id645mk9WbK9yWKfEaM4bmMKQw1pzbPfWnPBQWtDWRiWRIlIf6nqM4j7nnDMz5z953CHVTqQJKh1/kre3iO827mLh+p0sWP8T3236CYApn6YzqFsyNwzvyYXhX3HEvGcx/81DV8tmctyzEBYHHzxVtdXQOW9SmogY2F31xoKkrt73YE/RRSRUFB+bkmCfocFmbk1MgdxMAiaRuVvg7T9UmW3aigro+M0jPH3L0gpdVgvjUvi40xhe2nM8L87bwDNz9vdO/sOLixjULZlBXZPo3zWJxJhIAM2yKiIhVdNEcbqZPQUkm9m1wO+A/9RftURCo/LT25ISx487drN0cw4A503+khWZuZT47xkuCJvDJxHTSYn2txpmjMJ6Xc2RS/5ZNRksKoAv/x784oV5cN4/1L1UpGlRfGwORtwT+LN35H3BxzbGJMHenMDny9kEL18G6z6F4n2EGcTu2cKFmx7mwvMn82jmIDZ+/tz+Xifp7XhkxSgeLvG6rB7RPo5BXZMBmLduB0d3SiSpVWSFS6i1UUTqW40SRefco2Z2BpCLNw7jHufc7HqtmUg9CRZcfcUlTEpL57A2rVi6JYelm3NYvHEX5/Alf4mYzrrobLZkt+MRG0X44FE81GsVMTOfLbux6GrZTI59GjJXBp8wAfM/od5ctUjrHYo0OYqPzURtxjae+2jwJDIsEtI/qrq9qABm/oXbT7geWj0Lvv3xY1KrZ/nDcT25f0Nf2q+fwW050/lHdDZbnmvH3b5RfBZ5OkMPb8PRnRM5qrO3puONP+tJRHhYlcsoiRSRunDAMYpmFg584pwb3jBVqj8tZgyGVBske4z9gE9vO43V2/JJ35bH6u35dNn4HlfueZ7OeC2Dj3E5P3Y+jyti5vGLjIeJKN67/wSRsXDG/fC/CbAnO8AVzL9eV5AZSoM9udZ6hyJ1piHGKCo+tiC1mWX1v2M46HGPCZ3hjPFVzlkUFsOrHW/jpT3H03fHLG4Pe50UyyaTdjwf+xs2df05R7aPp2cH7+vnj8+pdpZVJZIiLVtNY2TVx1CVOOeKgRIzS6qTmpVjZmeb2SozW2NmYwOUR5vZ6/7y+WbWo1zZHf7tq8zsrLqumzR+E2evDlo2KS0dgF179jF3bTbPzPmRl//zKNvG92Rd9GiiHh/Eh69M4h+zV9Nq1VvctOdxulg2YQZdw7IZb1P5feICLtn1TMUkEfbPhBcwSfS7cIp3s1BeaRfSgaO8m4ikboB535UkijQ59RkfQTGyURk4yluGaNwu73vp53V1n+elY8srS+gc/Dp5mV6CWWnoQmTJXn6z53lu7rCYB8P/Q9cwL151sWxuLphC8pp3+Pfna/n0jSkkPzWEddGj2TquJ/+a/CDjZizjxXkbmLs2m+25e3HOlcXIQKqLrSLSstR01tN38WZ1mw3sLt3unLup1hf2nsSuBs4AMoAFwBXOueXl9vkjMNA59wczuxz4pXPuMjPrC7wKDAVSgE+A3v6gHZSemDY9B2oZLH1iWlzi2LBjNysy81iRmcuUz9aQkhTDlhwvybsgbA4TIp+mle2f/nyPiyKt552cn/10kK5DEVDiC165uA5BJp7xr2uoGUpFQqYBZz2t8/joP2+DxkjFx3pQmzUdY1tDwU/BzxkWCSVFVbcndeP99tfws/QHqsS5O4uv5W2ft1rLBWFzGBs1nU4um9yojqzodwsJx42mV8d4oiO8ZTuqW/NRLZEizUOdtSj6/Re4G/gCWFTu61AMBdY459Y55/YBrwEXVtrnQuB5/89vAiPMzPzbX3POFfoXNV7jP5+EUHVPIWtbVvmpZ1FxCZt27mHuWq81747/LuHCJ76i/72z+Nk/PmfWa5O5/KtzWRc9mukFY7ggbA6/GJzCxLYzKgRPgFa2j/PXPxB8PGGJD6ITApcldYOzHgjeagjBn0CLSHNSH/ERFCObvupaG0fcEzh+nPOIf/8AouIDJ4kAOZv4+br7A8a5f7Z5l6/v+Bn3H7GcCZFPk4LXGplctI1B393D1Ccm0O+eWZz92BfcOn0xAB8t3Ur6tjwKfRWfLdS2JbK2ZSISWjVKFJ1zz+M9nSwNgK/4tx2KLkD5O/QM/7aA+zjnfEAO0LaGxwJgZmPMbKGZLczKyjrEKlevPj4k6+uDtyGSupqUFfknkNm4Yw/LtuQwb90OPlm+jbe/y+CFr9cDcPNr33Hpk3MZ9lAave6cyd8fvZ/Dnj+eddGj+dPiX9J98/v06RTPqyds5LFWz5Z1yekals3kmKk8lnMz4XkZgStWvA+igsxmn9QNzvunupCKSFD1FB+hAWJkQ8bHFqs2XVaDJZE/n1hNEpkQtAeM5WbQ+dmhXLn97wETyQlJ7zC4WzK9t8/k1qUXsy56NP2nn8Tjkx6kz10fcdrfP+PqZ79h/HteY/ZL8zYw4/st/G/Vdr7b+BNrs/LJyitkUlo6wXqp1eb+ABrXvVMo7tVEQq1GiaKZnQ6kA08A/wJWm9mp9VivOuOcm+qcS3XOpbZv3/6Qz1fXiVIoyqorLx27kLe3iB35hWTmFLBhx27St+WxdHMOk9LSmbsmm89WbmfmD5m8891m5r79b/InHMW66NHkPtSHd1+YyD3vLuX/3vie5558hOz7e7EuejTbx/fkwQn3cdKETxk8/mNuvetOtt3nlYVNGsBTUyZw+dR5XPPCQj574wl+NnME66JHc/vyS+i88T2SYiN5YsAa/hk7rWIyGPsM76S8xLDl9xPmq7QkRYkPti2FiNiA75ekbvDzx2qfDKrVUKRFU3yUWqvTJPKfwZPI6EToOhR8ASZYA1oVbOHN1v9icuzTFWLrP2On8cSANUSFh5GQ/ja/W3A+66JHc/qHP+OT1x/nt88u4Jf/msukiQ9Q+Pe+rIsezeZxPfl/997FCQ+m8bN//I9HH72fLP89wI6/9eaV/zzKPe8u5aGZK5j5ymTyHvLuHXY/fBSL3n+Kj5dt5fPVWcxft4PvN+1iUlo6P2bvZvOuArLzC8ndW8TeouIDjrNsDmWNrTFAZY2jrCbldammYxQXAaOdc6v8r3sDrzrnjq31hc2GAeOcc2f5X98B4Jx7qNw+s/z7fG1mEcBWoD0wtvy+5fer7pqHNAZjyXSKZo8jPHczRfEpbBj8f2QfcQHOQdt179Jj8aNE7d5CYVwKawbcypbDzsc5R8f179Fn2URi9mxhb6vO/HDUzWzoch7OObplfMDAVZNoVZDJntjOLDjyRtZ0PIdi5zgi80NO+HEK8Xu3kh/Tic+7Xc/StmdRUuI4KmsWIzb/m8R928iJ6siHHcawMHEkvhLHMbs+5oIdT9OmaDs7IzrwasLVfBFzOkXFDl9JCSfv+Yzf7n2BDiVZbLP2TLHRvM/JFBWXcHbJl9wa9pq3ppNrxyO+Uczwr+l0Qdic/es9lSsLNvbv7pIxhIfBOKZWKXs87kYiwozr8yZXKftvl79wau/2dJ0ztmLSFx4NQ66EH94Ivm5VUAYXTa1+plGNJxRpVhpwjGKdx0f/eRo0RmqMYhNSmxlYB46Cif0Pfjx+dCIMuBQWv1Qh0SyJiGX9iQ8yZ3U2l2T+vUosnxJ3I74Sx80FUwLeHxSXlPBgRNV7h7FF15TdWwS654CK9yOZtGOKjeaTyNOICg/jHPcl1+57kfYlWWSHd+CV+KuYFz+CyPAwTt7zKRfnTKNN0XZ2RXbkww7X8n3rM4kIN47ZNZszM58icd828qI78UW361nd8RzCw4yjsj7ixPVPEL93K7tjO7PoyBtZn3Iu4WHG4ZkfcszqycQWZFLQqjPLjr6ZzMPOx8zouuk9jl72GNF7vHvDtQNvJavHhZhBpw3v0eP7R4nK30JRfAqbhvwfu478BWZG23XvkLLw70Tkb8aX0IVtx/2FvF4XERYGienv0H7+BMLzNlOc0IWdw8ayp8/FGBBmRtzq/5I09yHCcjMoSexK3kl3sPfoizGM2JVvET/nQSw3A5fYld2n3Mm+vt6x0SveIvbLB7CcDFxSVwpPvYuifpdgBhHL3iTm87+V/Xvbd/rdFPvLwpe+SeT/7i8r8w2/m5L+l2IGYUvfIOKz+3G7MrDkrhQPvwc34FIMsB/eIOyz8f6ybrif7S/jhzewT8fjdm3Ckv0zxQ+4FDMr+7dfsmsTYaVlpfdqzb2sJuUHoaYxsqaJ4hLn3MADbTvICkbgDdQfAWzGG6g/2jm3rNw+fwIGlBuof5FzbpSZ9QNeYf9A/TSgV71NZhPgw7f0Aw0ImCjVR9lffddgZjwQ/p8qZffZdYRh3O2erFL2SOQfWdv5XHpvm8lthU9UKX8q/k9EhDmuyf0XseXKClwk77T+PRFWwvk7nyXG9o+N2OsimddhFCfnf0REwY6qv7OYZP+Ou6qWRcWBc1C0p2pZWCTgqp9EJiDzAmagIKjJZURanAZMFOs8PvrP0aAxUoliM1FdnKvrpTzCIgALPG4yKs4r25dftSwmGcwCTtpTFNOOz+LP49SsV6rcc7zV+hp8zhi16+kK9yp7XBT/iruBYmfcuOfxKvc4D0f8EYdjrO/fVcrGMQbn4D6r+lC7oe/xDqWsugf3ja2u9VFmBg8FePDwV593XKCHEn8tvtYrC3BPfae/LND9dm3L7ioeA8Dfwqv+WztQ2fvuZH5uc6qUH8rSanWdKE4DSoCX/Jt+BYQ753530DWreN5zgceAcGCac+4BMxsPLHTOzTCzGOBFvBnldgKXO+fW+Y+9E/gd4ANuds7NPND1ahsIcx/qQ2Lh1irbCy2WiHAj3Fc14SmOiPWe8FTuCgmURMQAEObbW6XMhUcDYIHW4AuPAhwUB/hQDovwnzxAgmVh3qQse3M56EDQqFS3WL3WJxSR/RowUayX+Og/d4PFSCWKLUSwRDJYa2NSV8jZTJO+dzD/KCtXUrWsunun8CgcYMX7qhR592qGVV4+i9J7PAt4/1cc0co7dYD7Rl9EK3zFjhhX9bgC846LdVWP22Ot2Njz1xy25iVaBSz35mFo5XZXKdvtL4sLWBbvL6ua7Of7y+IbqCzPX5Zw0GUJ/rK8Jl025/AbOfnHxwOW50Z3IvGOVVW2H0hdJ4rRwJ+Ak/2bvgT+5ZwL3OG9kap1IByXTJP+kAQ4/g8w/8k6PqlBXPvAS0QkpnjlwZI6CN76V13ZgZJBtRqKCA2aKLbs+CjNQ22W8qhtLE9M8XoV5WVWLYtrD7uzafL3XA3NwqH6TnXSbJk3zvlgj6rj5TEigEnOuYuccxcBk/GecLYMwRbNTeoWfPB4Yys75+F6OG/X4EtEjLwPRo4LPklMsAH5ByrT5DIi0ri07PgozUNtJtCpbSwfeR+cMT5w2VkPNo97roYuu3dn9fdqQX+nXSExSFliF++rwcpS/I0MdViWkOJ9Nfqyzt5XsLJblgcvD/a3rSMRNdwvDSYbAMcAABH5SURBVBgJlLbrxgIfAyfWR6UanWCtWKXr5TWVsvp4H6WJWHWteHVdNnCUEkARaSxadnyU5iNYbA1FnG9M905NpSzoPd691RxbTdnIcQ1cdl/dl53RVMrGV1+W1MX7Xt3fv57UNFGMcW5/51/nXL6Zv8N0SxCKD8n6KKuv91Fd4lYfZSIijUfLjo/SMjRknG8u91wNXabfW/Muq8nftx7UdIziV8CNzrlv/a9Tgcedc8PqtXZ1TGMwRERahgYco6j4KCIiTUpNY2RNWxT/DLxhZlv8rzsDl9W2ciIiIs2E4qOIiDRLNU0UD8ebfvsw4CLgeDQllYiIiOKjiIg0SzWd9fRu51wukAwMB/4F/LveaiUiItI0KD6KiEizVNNEsXRxlvOA/7j/3979x+h213UCf3+W2+LG1YXSbvfaEouhQVnNFjNiVjbGrReFLKGVRbSu2jXdbTBi3BBYipq4m2gCyWYxZN3Fbqu9KApuAamCVqhUYyKsU7fSWyq01hpaL9wrKyriL+CzfzznxjlzZ+bO9PY855mZ1yt5Ms8553ue5zOfntvvvJ9znufpfneSC6cpCQD2DfMjAAfSboPiY1X1k1m87+I9wxcM73ZfADiozI8AHEi7ncxeluTOJN/c3Z9KclGSV09WFQDsD+ZHAA6kXX2YTXd/Jsk7NiyfTHJyqqIAYD8wPwJwULk8BgAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgJFZgmJVXVRV762qB4efT91izFVV9dtVdX9Vfaiqvm3Dttuq6g+r6t7hdtVyfwMAmIY5EoBVMNcZxZuS3NXdVya5a1je7DNJvru7/1mSFyT58ap6yobtr+7uq4bbvdOXDABLYY4EYHZzBcVrkhwf7h9Pcu3mAd390e5+cLj/x0lOJblkaRUCwDzMkQDMbq6geGl3nxzufzzJpTsNrqrnJrkwyR9sWP1jw+U2b6iqJ++w741VtV5V66dPnz7vwgFgYkuZI82PAOxksqBYVe+rqhNb3K7ZOK67O0nv8DhHk/xMku/p7s8Pq1+b5MuTfE2Si5K8Zrv9u/vm7l7r7rVLLvFiKwDzW4U50vwIwE6OTPXA3X1su21V9YmqOtrdJ4dJ7tQ24744ybuT/FB3f2DDY595pfVvquqnk7zqCSwdACZljgRg1c116ekdSa4f7l+f5F2bB1TVhUnemeTN3X37pm1Hh5+VxXs3TkxaLQAsjzkSgNnNFRRfl+T5VfVgkmPDcqpqrapuGca8LMnXJ/l3W3zE91uq6r4k9yW5OMmPLrd8AJiMORKA2dXi7Q+Hw9raWq+vr89dBgATq6p7untt7jr2C/MjwOGx2zlyrjOKAAAArChBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgBFBEQAAgJFZgmJVXVRV762qB4efT91m3Oeq6t7hdseG9c+oqg9W1UNV9baqunB51QPAdMyRAKyCuc4o3pTkru6+Msldw/JW/qq7rxpuL96w/vVJ3tDdz0zyp0lumLZcAFgacyQAs5srKF6T5Phw/3iSa3e7Y1VVkquT3P549geAFWeOBGB2cwXFS7v75HD/40ku3WbcF1TVelV9oKrOTHRPS/Kp7v7ssPxoksu2e6KqunF4jPXTp08/IcUDwISWMkeaHwHYyZGpHriq3pfkn26x6Yc2LnR3V1Vv8zBf2t2PVdWXJfn1qrovyZ/tpY7uvjnJzUmytra23fMAwNKswhxpfgRgJ5MFxe4+tt22qvpEVR3t7pNVdTTJqW0e47Hh58NVdXeS5yR5e5KnVNWR4RXTy5M89oT/AgAwEXMkAKturktP70hy/XD/+iTv2jygqp5aVU8e7l+c5HlJPtzdneT9SV660/4AsE+ZIwGY3VxB8XVJnl9VDyY5Niynqtaq6pZhzFckWa+q38ti0ntdd3942PaaJK+sqoeyeD/GrUutHgCmY44EYHa1ePHxcFhbW+v19fW5ywBgYlV1T3evzV3HfmF+BDg8djtHznVGEQAAgBUlKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAiKAIAADAyS1Csqouq6r1V9eDw86lbjPlXVXXvhttfV9W1w7bbquoPN2y7avm/BQA88cyRAKyCuc4o3pTkru6+Msldw/JId7+/u6/q7quSXJ3kM0l+bcOQV5/Z3t33LqVqAJieORKA2c0VFK9Jcny4fzzJtecY/9Ikv9Ldn5m0KgCYnzkSgNnNFRQv7e6Tw/2PJ7n0HOO/PcnPb1r3Y1X1oap6Q1U9ebsdq+rGqlqvqvXTp0+fR8kAsBRLmSPNjwDsZLKgWFXvq6oTW9yu2TiuuztJ7/A4R5N8VZI7N6x+bZIvT/I1SS5K8prt9u/um7t7rbvXLrnkkvP5lQDgCbEKc6T5EYCdHJnqgbv72HbbquoTVXW0u08Ok9ypHR7qZUne2d1/t+Gxz7zS+jdV9dNJXvWEFA0AS2COBGDVzXXp6R1Jrh/uX5/kXTuMvS6bLqkZJs5UVWXx3o0TE9QIAHMwRwIwu7mC4uuSPL+qHkxybFhOVa1V1S1nBlXVFUmenuQ3Nu3/lqq6L8l9SS5O8qNLqBkAlsEcCcDsJrv0dCfd/ckk37jF+vUk/37D8iNJLtti3NVT1gcAczFHArAK5jqjCAAAwIoSFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABgRFAEAABiZJShW1bdW1f1V9fmqWtth3Auq6iNV9VBV3bRh/TOq6oPD+rdV1YXLqRwApmWOBGAVzHVG8USSlyT5ze0GVNWTkvxEkhcmeXaS66rq2cPm1yd5Q3c/M8mfJrlh2nIBYGnMkQDMbpag2N0PdPdHzjHsuUke6u6Hu/tvk7w1yTVVVUmuTnL7MO54kmunqxYAlsccCcAqODJ3ATu4LMnHNiw/muRrkzwtyae6+7Mb1l+23YNU1Y1JbhwWP11VGyfff5zkzzbtsnnd5uWLk/zJLn+H87FVbVPsu5ux243Zy/rdrDtsvd1p+/n0Vl+n6etW6/T23NvmOma/9Dz3X3XnPUeeY358vJb1b2I/0ZOz6cnZ9ORserK15c2R3T3JLcn7srh8ZvPtmg1j7k6yts3+L01yy4bl70ry34fmPLRh/dOTnHicNd58rnVbLK9P1bNz1TbFvrsZu92YvazfZa8PVW932n4+vdXXafqqtwfvmJ3zth/myMf5ex34/3Z6oid6oieHpS+TnVHs7mPn+RCPZTHBnXH5sO6TSZ5SVUd68YrpmfWPxy/tYt1WY5bhfJ53L/vuZux2Y/ayfrfrlmFVervT9vPprb7ufZtjdndjD9oxO5t9MkcCcIjVkEznefKqu5O8qrvXt9h2JMlHk3xjFpPc7yT5ju6+v6r+d5K3d/dbq+pNST7U3f9jSTWvd/e2n0LH46e309DX6ejtNPR1wRx5MOjJ2fTkbHpyNj3Z2jL7MtfXY3xLVT2a5F8keXdV3Tms/5Kqek+SDK+EviLJnUkeSPIL3X3/8BCvSfLKqnooi/dj3LrE8m9e4nMdNno7DX2djt5O41D31Rx54OjJ2fTkbHpyNj3Z2tL6MusZRQAAAFbPXN+jCAAAwIoSFAEAABgRFAGA81JVL6iqj1TVQ1V109z1rIKq+qmqOlVVJ+auZVVU1dOr6v1V9eGqur+qfmDumuZWVV9QVf+nqn5v6Ml/mbumVVFVT6qq/1tVvzx3Laugqh6pqvuq6t6qOutDziZ5Tu9RBAAer6p6UhafwPr8JI9m8Qms13X3h2ctbGZV9fVJPp3kzd39lXPXswqq6miSo939u1X1RUnuSXLtYT5WqqqSfGF3f7qqLkjyW0l+oLs/MHNps6uqVyZZS/LF3f2iueuZW1U9ksV36/7Jsp7TGcUnUFV9WVXdWlW3z13LfldVX1hVx6vqf1XVv527noPEcTqNqrp2OF7fVlXfNHc9B0lVfUVVvamqbq+q7527Hs7y3CQPdffD3f23Sd6a5JqZa5pdd/9mkv83dx2rpLtPdvfvDvf/IotP7L1s3qrm1QufHhYvGG6H/ixOVV2e5F8nuWXuWg4zQXGw3SUie7mcZpgkb5i20v1rjz1+SZLbu/s/JHnx0ovdZ/bSW8fp7u2xr784HK8vT/Jtc9S7n+yxtw9098uTvCzJ8+aolx1dluRjG5YfzSH/459zq6orkjwnyQfnrWR+wyWW9yY5leS93X3oe5Lkx5P8pySfn7uQFdJJfq2q7qmqG5fxhILi37styQs2rhgup/mJJC9M8uwk11XVs6vqq6rqlzfd/snyS953bssue5zk8vz9Hx6fW2KN+9Vt2X1v2b3bsve+/vCwnZ3dlj30tqpenOTdSd6z3DKBJ1pV/aMkb0/yH7v7z+euZ27d/bnuviqLv32eW1WH+lLlqnpRklPdfc/ctayYf9ndX53FHPl9w+XtkxIUB9tcIrLl5TTdfV93v2jT7dTSi95n9tLjLF6RvnwY4zg9hz32ll3aS19r4fVJfuXMpVVsb6/HbHff0d0vTOJS9NXzWJKnb1i+fFgHZxneh/f2JG/p7nfMXc8q6e5PJXl/Nr2Idgg9L8mLh/fkvTXJ1VX1s/OWNL/ufmz4eSrJO7OYMyflD/Cd7elymqp6WlW9Kclzquq1Uxd3QGzX43ck+TdV9T+T/NIchR0AW/bWcXretjtmvz/JsSQvraqXz1HYAbDdMfsNVfXGqvrJOKO4in4nyZVV9YyqujDJtye5Y+aaWEHDB7fcmuSB7v5vc9ezCqrqkqp6ynD/H2bxoVC/P29V8+ru13b35d19RRb/P/n17v7Omcua1fDZHV905n6Sb0oy+ScqH5n6CQ6T7v5kFu9P4jx1918m+Z656ziIHKfT6O43Jnnj3HUcRN19d5K7Zy6DbXT3Z6vqFUnuTPKkJD/V3ffPXNbsqurnk3xDkour6tEkP9Ldt85b1eyel+S7ktw3vCcvSX6wuw/zC0BHkxwfLr3/B0l+obt9HQSbXZrknYvXWnIkyc91969O/aSC4s5cTjM9PZ6O3k5DX6ejt/vU8If+Yf5j/yzdfd3cNaya7v6tJDV3Haukuz+UxYf6sAUvFC5098NJ/vmyn9elpztzOc309Hg6ejsNfZ2O3gLAihAUB8MlIr+d5FlV9WhV3dDdn01y5nKaB7K4HODQX07zeOnxdPR2Gvo6Hb0FgNVW3Yf+Oz0BAADYwBlFAAAARgRFAAAARgRFAAAARgRFAAAOrVrwNzFs4h8FAACHSlVdUVUfqao3JzmR8Xe4AvGppwAAHDJVdUWSh5N8XXd/YN5qYDU5owgAwGH0R0IibE9QBADgMPrLuQuAVSYowgFUVVdW1SNV9cxh+YKqureqvAcDAIBzEhThAOruB5PcnOSbh1WvSHJHd39svqoAANgvjsxdADCZE0mOVdVFSW5I8rUz1wMAK6G7H0nylXPXAavMGUU4uD6a5FlJ/nOS/9rd3osBAMCu+HoMOKCq6oIkf5zkD7L4+O/Pz1wSAAD7hDOKcEB1998l+fMkNwmJAADshaAIB9sFSX5j7iIAANhfBEU4oKrqiiy+TNj15QAA7In3KAIAADDijCIAAAAjgiIAAAAjgiIAAAAjgiIAAAAjgiIAAAAjgiIAAAAjgiIAAAAj/x9peG5kXX27CQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# SVR-sigmoid核\n",
    "def test_SVR_sigmoid(*data):\n",
    "    train_x, test_x, train_y, test_y = data\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    \n",
    "    # 测试gamma\n",
    "    gammas = np.logspace(-1, 3)\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for gamma in gammas:\n",
    "        svr = svm.SVR(kernel='sigmoid',gamma=gamma,coef0=0.01)\n",
    "        svr.fit(train_x,train_y)\n",
    "        train_score.append(svr.score(train_x,train_y))\n",
    "        test_score.append(svr.score(test_x,test_y))\n",
    "            \n",
    "    # 绘图：\n",
    "\n",
    "    ax = fig.add_subplot(121)\n",
    "    ax.plot(gammas,train_score,label='Training Score',marker='+')\n",
    "    ax.plot(gammas,test_score, label='Testing Score',marker='o')\n",
    "    ax.set_xlabel(r'$\\gamma$')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('SVR_sigmoid_gamma')\n",
    "    ax.set_xscale('log')\n",
    "    ax.set_ylim(-1,1)\n",
    "    ax.legend(loc='best',framealpha=0.5)\n",
    "    \n",
    "    # 测试r\n",
    "    rs = np.linspace(0,5)\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for r in rs:\n",
    "        svr = svm.SVR(kernel='sigmoid',gamma=10,coef0=r)\n",
    "        svr.fit(train_x,train_y)\n",
    "        train_score.append(svr.score(train_x,train_y))\n",
    "        test_score.append(svr.score(test_x,test_y))\n",
    "            \n",
    "    # 绘图：\n",
    "\n",
    "    ax = fig.add_subplot(122)\n",
    "    ax.plot(rs,train_score,label='Training Score',marker='+')\n",
    "    ax.plot(rs,test_score, label='Testing Score',marker='o')\n",
    "    ax.set_xlabel(r'r')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.set_title('SVR_sigmoid_r')\n",
    "    ax.set_ylim(-1,1)\n",
    "    ax.legend(loc='best',framealpha=0.5)\n",
    "    \n",
    "    plt.show()\n",
    "\n",
    "x_train, x_test, y_train, y_test = load_data()\n",
    "test_SVR_sigmoid(x_train, x_test, y_train, y_test )"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
